package com.whu.exam.modules.exam.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whu.exam.core.api.dto.PagingReqDTO;
import com.whu.exam.modules.exam.dto.request.ExamSaveReqDTO;
import com.whu.exam.modules.exam.dto.response.ExamOnlineRespDTO;
import com.whu.exam.modules.exam.dto.response.ExamReviewRespDTO;
import com.whu.exam.modules.exam.entity.Exam;

public interface ExamService extends IService<Exam> {

    /**
     * 保存考试信息
     * @param reqDTO
     */
    void save(ExamSaveReqDTO reqDTO);

    /**
     * 查找考试详情
     * @param id
     * @return
     */
    ExamSaveReqDTO findDetail(String id);

    /**
     * 查找考试详情--简要信息
     * @param id
     * @return
     */
    Exam findById(String id);

    /**
     * 分页查询数据
     * @param req
     * @return
     */
    IPage<Exam> paging(PagingReqDTO<Exam> req);


    /**
     * 在线考试分页响应类-考生视角
     * @param reqDTO
     * @return
     */
    IPage<ExamOnlineRespDTO> onlinePaging(PagingReqDTO<Exam> reqDTO);


    /**
     * 待阅试卷列表
     * @param reqDTO
     * @return
     */
    IPage<ExamReviewRespDTO> reviewPaging(PagingReqDTO<Exam> reqDTO);
}
